Teaching Empirical Software Engineering Using Expert Teams
نویسنده
چکیده
Empirical software engineering aims at making software engineering claims measurable, i.e., to analyze and understand phenomena in software engineering and to evaluate software engineering approaches and solutions. Due to the involvement of humans and the multitude of fields for which software is crucial, software engineering is considered hard to teach. Yet, empirical software engineering increases this difficulty by adding the scientific method as extra dimension. In this paper, we present a Master-level course on empirical software engineering in which different empirical instruments are utilized to carry out mini-projects, i.e., students learn about scientific work by doing scientific work. To manage the high number of about 70 students enrolled in this course, a seminar-like learning model is used in which students form expert teams. Beyond the base knowledge, expert teams obtain an extra specific expertise that they offer as service to other teams, thus, fostering cross-team collaboration. The paper outlines the general course setup, topics addressed, and it provides initial lessons learned.
منابع مشابه
Facilitation in Distributed Requirements Engineering
There is an increasing need to build an understanding of group facilitation in Distributed Requirements Engineering. Group facilitation is an important element of group approaches to Requirements Engineering, which is being challenged by the emergence of distributed practices in software specification and development. Thus thorough empirical investigation of human facilitation in computer-media...
متن کاملExtreme Programming and Its Positive Affect on Software Engineering Teams
This paper presents an early empirical study on Extreme Programming (XP) practices employing Positive Affect metric. The study was conducted on university students doing development projects to gain an insight understanding of the effect of using agile practices on software engineering (SE) teams. The finding indicates that XP practices do have positive affectivity on the SE teams. This is to b...
متن کاملAn Expert Gamification System with Psychological Theories for Virtual and Cross-cultural Software Teams
Gamification is the concept of applying game elements in non-game context platforms to motivate people to participate in planned activities to achieve goals. Gamification has been applied to academic fields including software engineering (SE) in recent years. Many gamification implementations in SE have been ad hoc and lacked standardized guidelines. This paper introduces a new concept of build...
متن کاملBooch's Ada vs. Liskov's Java: Two Approaches to Teaching Software Design
We study two textbooks for teaching undergraduate software engineering, both focusing on software design and data abstraction in particular. We describe the differences in their didactic approaches. We analyze how the subject matter is influenced by the choice of programming language, one book using Ada and the other book using Java. Java is a relatively new candidate for teaching software engi...
متن کاملA Proposed Methodology For Expert System Engineering
The methodology presented in this paper is the result of accumulated experience gained through many years of developing several expert systems in the agricultural domain by the Central Laboratory for Agricultural Expert Systems (CLAES). We have adopted a spiral model for the overall life cycle of expert systems development. As will be explained in this paper, the development methodology of an e...
متن کامل